Расширения Кана
Вчера весь вечер рисовал страницу про категории и крутил расширения Кана. Так и не смог построить даже сигнатуру универсальности расширений Кана, вот лох! Но обо всем по порядку. Расширение Кана двух функторов К: А -> B, G: A -> C — это такой функтор F: B -> C, для которого существует естественное преобразование композиции функоторов F o K и функтора G. Конус функтора D: J -> C — это расширение кана, где функтор К: J -> 1 действует в кодомен единичной категории. Свойство универсальности расширений Кана — это их единственность при фиксации К и G для любых двух расширений Кана. Правое расширение Кана функторов К и G, это по-сути определение расширения Кана вместе со свойством универсальности, т.е. ∑ (x: extension K G) ∏ (y: extension K G) isContr(universality K G x y). Категорный предел по функтору D: J -> C (диаграмме) — есть правое раширение Кана, где К: J -> 1 действует в единичную категорию. Вот и все.
extension (A B C: precategory) (K: catfunctor A B) (G: catfunctor A C) : U
= (F: catfunctor B C)
* (counit: ntrans A C (compFunctor A B C K F) G)
* unit
Functor to Unit Category
unitFunc (C: precategory): catfunctor C unitCat
= undefined
Cone as Kan Extension
cone (J C: precategory) (D: catfunctor J C): U
= extension J unitCat C (unitFunc J) D
universality of Kan Extension
universality (A B C: precategory)
(K: catfunctor A B) (G: catfunctor A C)
(s t: extension A B C K G) : U
Right Kan Extension
ran (A B C: precategory) (K: catfunctor A B) (G: catfunctor A C) : U
= (x: extension A B C K G) * ((y: extension A B C K G)
-> isContr (universality A B C K G x y))
Limit
limit (J C: precategory) (D: catfunctor J C): U
= ran J unitCat C (unitFunc J) D
[1]. http://www.math.harvard.edu/theses/senior/lehner/lehner.pdf
[2]. https://github.com/groupoid/cubical/blob/master/src/cat.ctt
[3]. https://github.com/groupoid/cubical/blob/master/src/fun.ctt
[4]. https://github.com/groupoid/cubical/blob/master/src/adj.ctt
[5]. https://github.com/groupoid/cubical/blob/master/src/sip.ctt
[6]. https://github.com/groupoid/cubical/blob/master/src/cones.ctt